package com.example;

import org.junit.Test;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Date;

public class NumberTest {

    public static void main(String[] args) {
        int a = 1;
        Integer b = 2; // 可以直接赋值常量，包装类
        Byte byte1 = Byte.valueOf("1");
        Byte byte2 = 2;
        Integer c = a + b; // 隐式的把b临时转成int来做加法
        /* 拆箱和装箱 */
        /* 装箱：将基本数据类型转换成包装类的对象 */
        /* 拆箱：将包装类对象临时转换成基本数据类型进行计算 */
        /* 超过了long的范围使用BigInteger */
        BigInteger bigInteger = new BigInteger("13131313131231313131313131313131313132131313213");
        BigInteger bigInteger1 = new BigInteger("13131313131231313131313131313131313132131313213");
        BigInteger add = bigInteger.add(bigInteger1); // 求和
        System.out.println(add);
        System.out.println(6.0 / 2.0);
        BigDecimal bd1 = new BigDecimal("1.11");
        BigDecimal bd2 = new BigDecimal("1.11");
        System.out.println(bd1.divide(bd2));
    }

    /* 正则表达式 */
    @Test
    public void test01() {
        String regex = "^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$";
        String phone = "13955556666"; // 不合规的手机号码
        System.out.println(phone.matches(regex)); // false
    }
}
